package hottargui.domain;


/** Tile represents a single territory tile of a given type.

    Org. responsibilities:
    1) Know its type and position on the board.
    2) Know its owner and the number of units on it.

    By Group added responsibilites
    3) Know its economic value
    4) Know its strategic value


 */

public interface Tile {

	/* getter - methods for Tile 
	 predefined	by Henrik
	 */	

	/** return position of this tile on the board. 
	 * @return position of tile.
	 */
	public Position getPosition();

	/** return the color of the player who owns this tile.
	 * @return color of owner, may be NONE.
	 */
	public PlayerColor getOwnerColor();

	/** return the number of units on this tile.
	 * @return the number of units on this tile.
	 */
	public int getUnitCount();

	/** return the type of this tile: one of the enumeration
	 * constants: TileType.Settlement etc. 
	 * @return tile type.
	 */
	public TileType getType();


	/* Added methods by group */ 

	/** returns the economic value of this tile.
	 * @return the economic value of this tile.
	 */
	public int getEconomicValue();


	/** returns the strategic value of this tile.
	 * @return the strategic value of this tile.
	 */
	public int getStrategicValue();





}
